# 基于 GraalVM 的基础镜像
FROM registry.cn-hangzhou.aliyuncs.com/server-tool/graalvm17-build:v4 AS build

# 设置工作目录
WORKDIR /app

# 复制 pom.xml 文件以便下载依赖
COPY pom.xml .

# 复制项目源代码到工作目录
COPY src ./src

# 下载依赖
#RUN mvn dependency:go-offline

# 构建 GraalVM 项目
RUN mvn -Pnative clean native:compile

RUN ls /app/target

# 创建最小化的运行时镜像
FROM ubuntu:22.04

ENV LANG=C.UTF-8

# 设置工作目录
WORKDIR /app

# 从构建阶段中复制编译好的本地可执行文件到最终镜像
COPY --from=build /app/target/demo2 app

# 暴露应用程序的端口
EXPOSE 8080

# 运行可执行文件
CMD ["./app"]
